Today, a variety of methods, systems, and input devices are available for interacting with computing devices. Examples include various forms of physical keyboards, both wired and wireless, that enable users to press physical buttons (or keys) of the keyboard to interact with the computing device. Examples of interacting include typing (or inputting or entering) characters into one or more editable areas of the computing device, which may be correspondingly displayed on the computing device. Editable areas may include, but are not limited to, those found in an electronic document, such as Microsoft Office products, email, and cloud-based documents such as Google Docs documents; an executable application, such as a computer program installed on the computing device and/or remotely located, in part or in whole, such as cloud-based applications; a chat or messaging application, such as email, SMS, MMS, iMessage, Google Chat, WhatsApp, Skype, Facebook Chat, Yahoo Chat, Messenger, Blackberry Messenger, and LinkedIn; and any other input fields, as generally known by persons of ordinary skill in the art, that allow users to interact and/or edit, such as those found in websites, desktop and mobile applications, social media, and electronic documents; and the like. Other input devices include a mouse, a touchpad, and more recently, devices that recognize, among other things, human gestures and sound.
In respect to mobile computing devices, such as touchscreen-based mobile devices like the iPad, iPhone, Samsung Galaxy, HTC One, Windows-based devices like the Nokia Lumina, and Blackberry, “soft” or virtual keyboards are quickly replacing physical keyboards in popularity. Users of virtual keyboards typically require practice in order to become proficient in character entry. However, even the most experienced virtual keyboard users will often press wrong buttons and/or miss buttons on the virtual keyboard, particularly for those virtual keyboards having relatively small buttons, large buttons, closely spaced together buttons, and/or spread apart buttons. It is recognized herein that conventional methods of interacting with a computing device can be improved so as to enable users to, among other things, more accurately and more efficiently input information into a computing device.